A platform may allow only one instance on of application to be active at a time. An application would be limited to using multiple windows for the single instance. However, the same process is controlling the windows. When problems occur with the process, such as the process fails or hangs, every window is affected.
A platform may also allow an application to be multi-instanced. If the platform allows multi-instancing, then the code that an application could use to communicate with other instances would be application-specific. For example, a developer may write application-specific software code to enable the application to open multiple instances. However, the software code to allow the application to be multi-instanced is not integrated with the platform since the code is application-specific. This may limit the functionality and errors may result. For example, the multiple instances of the application communicate via application to application messages. If one of the instances fails or is shut down, then a message sent by one of the applications to a failed or shut down instance would result in an error.